テクニカル Q&A

TB64 - ユーザペイン機能の設定方法 (1999 年 9 月 27 日)


Q: ダイアログで、自作のユーザペイン (UserPane) コントロールを構築しています。コントロールハンドルを指定して GetControlFeatures を呼び出すと「このコントロールは Get/SetControlData しかサポートしない」を意味する戻り値の 64 が返されました。どういうことでしょうか。

A: トラッキング関数やアイドル関数はコントロール機能ビット (Control Features Bit) を設定して有効にしなければなりません。これはどのアピアランス対応メッセージがそのユーザペインでサポートされているかを指定します。各制御機能ビットの定義は <Controls.h> インタフェースファイルにあります。

kControlSupportsGhosting     = 1 << 0,
kControlSupportsEmbedding    = 1 << 1,
kControlSupportsFocus        = 1 << 2,
kControlWantsIdle            = 1 << 3,
kControlWantsActivate        = 1 << 4,
kControlHandlesTracking      = 1 << 5,
kControlSupportsDataAccess   = 1 << 6,
kControlHasSpecialBackground = 1 << 7,
kControlGetsFocusOnClick     = 1 << 8,
kControlSupportsCalcBestRect = 1 << 9,
kControlSupportsLiveFeedback = 1 << 10

ユーザペインコントロールを 'DITL' で使用する場合、制御機能ビットはそのユーザアイテムの 'CNTL' リソースの初期値で指定されます。例えば、ユーザペインハンドラでトラッキングとアイドルをサポートするのであれば、ユーザペインの 'CNTL' リソース定義の初期値を 0x0028 に設定して、kControlHandlesTracking ビットと kControlWantsIdle ビットを有効にします。


-- Vinnie Moscaritolo
Worldwide Developer Technical Support

テクニカル Q&A | 目次

To contact us, please use the Contact Us page.